Active networks offer the promise to improve bandwidth utilization compared to conventional packet routers, and active routers used in these active networks can be programmed on a per connection or even a per packet basis. This programmability makes the routers very flexible, because they are capable of allocating their finite bandwidth and processing in an application specific manner. New software applications, which contain protocols developed after a router is deployed, are able to inject a code for implementing a bandwidth allocation policy that is best suited for traffic into the network.
Others have investigated providing programmable services with Fast Ethernet line speeds that implement the NodeOS interface having an active router for programmable execution environments. Generally, the paradigm shift is a goal to route traffic produced at IEEE 802.3z (gigabit) line speeds with remotely injected services. However, there are some tradeoffs, such as flexibility and performance, in the prior methods. For example, a programmable router, such as Cisco's 7500 line of routers with VIP-4 line cards, offers such routing capacity. Although the line speeds are similar in Cisco's routers, the VIP-4 processors are not capable of accepting and then executing remotely injected code while the router continues to operate.
The flexibility versus performance tradeoffs necessarily favor a more efficient, multiprocessing execution environment. A giga-bit line speed leaves a window of approximately 8K instructions to process 1 KB packets on a utilized, dual-issue 500 Mhz processor. The ability to efficiently change resource scheduling is also a great concern, since a 1 KB packet arrives every 7.6 μs, and may require preempting the packet currently being processed. These tradeoffs between limiting the amount of processing per packet and the amount of state (e.g., the amount of data being kept track of per connection basis) the router is expected to maintain without significantly compromising observed router flexibility are difficult to balance.
Accordingly, there is a need for an improved scalable system routing method for a gigabit active router, which accounts for the aforementioned difficulties. There is a further need for an improved routing method, which reduces system overhead, making it possible to process the packets produced by gigabit networks.